import org.molamil.acto.pages.MovieContext;
import org.molamil.acto.pages.PageContext;
import org.molamil.acto.pages.factory.MovieFactory;
import org.molamil.acto.pages.factory.PageFactory;

/**
 * @author Jorge Hernandez
 */
class org.molamil.acto.pages.factory.AbstractPagesFactory implements PageFactory, MovieFactory {
	
	
	// Properties
	
	private var pageFactory:PageFactory;
	private var movieFactory:MovieFactory;
	
	
	// Functions
	
	
	public function containsPage(name:String):Boolean {
		return pageFactory.containsPage(name);
	}
	
	public function getPages():Array {
		return pageFactory.getPages();
	}
	
	public function getPagesAt(level:Number):Array {
		return pageFactory.getPagesAt(level);
	}
	
	public function getPage(name:String):PageContext {
		return pageFactory.getPage(name);
	}

	public function getExternalPage(name:String):PageContext {
		return pageFactory.getExternalPage(name);
	}
	
	public function getInternalPage(name:String):PageContext {
		return pageFactory.getInternalPage(name);
	}
	
	public function getLinkedPage(name:String):PageContext {
		return pageFactory.getLinkedPage(name);
	}
	
	public function containsMovie(name:String):Boolean {
		return movieFactory.containsMovie(name);
	}
	
	public function getMovies():Array {
		return movieFactory.getMovies();
	}
	
	public function getMovie(name:String):MovieContext {
		return movieFactory.getMovie(name);
	}

	public function getExternalMovie(name:String):MovieContext {
		return movieFactory.getExternalMovie(name);
	}
	
	public function getInternalMovie(name:String):MovieContext {
		return movieFactory.getInternalMovie(name);
	}
	
	public function getLinkedMovie(name:String):MovieContext {
		return movieFactory.getLinkedMovie(name);
	}
	
}